System and method for installing software applications

ABSTRACT

An example computer apparatus includes a processor coupled to a memory storing a program. The processor executes the program to perform operations including displaying an application menu screen displaying at least a selectable first menu item for an uninstalled first application and a selectable second menu item for an installed second application; periodically determining availability/unavailability of the first application for download from another computer apparatus; in response to selection of the first menu item if the most recent periodic determining has determined that the first application is unavailable for download from the server, providing announcement information about the first application; and in response to selection of the first menu item if the most recent periodic determining has determined that the first application is available for download from the server, initiating a process for downloading and installing the first application.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a divisional of application Ser. No. 12/617,592,filed Nov. 12, 2009, the contents of which are incorporated herein intheir entirety.

BACKGROUND AND SUMMARY

The systems and methods described herein relate to installing softwareapplications on computer systems such as video game systems.

Software applications for computer systems may be pre-installed or maybe loaded onto the systems after purchase, for example by downloadingfrom a web site or using physical media such as optical disks.

One known system for downloading software applications to a video gamesystem is discussed with reference to the channel menu shown in FIG. 7.The channel menu in FIG. 7 includes a number of menu items (“channels”)701 which may be selected by a user to invoke software applications suchas games, shopping, internet access and the like. Certain of thechannels may correspond to software applications which were notpre-installed on the game system. In FIG. 7, applications for theForecast channel (for weather forecasts) and the News channel (forcurrent news) are not pre-installed. When a user selects one of thesechannels, the game system is connected to a web site and thereafterinitiates a system software/firmware update. This update includes theForecast and/or News channels and the user can then select thesechannels to invoke the corresponding Forecast and News applications. TheForecast and News channel applications are system applications whichcannot be deleted by the users and which are updated together withsystem programs such as firmware programs. Thus, in order to installsuch programs on the video game system, the entire systemsoftware/firmware must be updated and all system applications areupdated together.

The systems and methods described herein permit software applications tobe installed onto a computer system without requiring a system update.The software applications are treated as user applications which can,for example, be installed separately and independently from each otherand which can be deleted by users.

One example method of installing an application onto an apparatusinvolves displaying an application menu screen comprising a fixed numberof menu item display locations, at least one of the menu item displaylocations displaying a first menu item for a non-installed application.An announcement screen is displayed in response to selection of thefirst menu item for the non-installed application, the announcementscreen comprising a selection item configured to initiate a downloadingoperation for the non-installed application. The downloading operationis initiated in response to selection of the selection item. Theapplication can be installed/non-installed separately from otherapplications.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example game system in which the systems and methodsdescribed herein can be used.

FIG. 2 is a detailed block diagram showing the components of gameconsole 100 of FIG. 1.

FIG. 3 shows an example user interface for game system 10.

FIG. 4 shows an example memory map for flash memory 232 of game console100.

FIGS. 5A-5D are flow charts showing a first example method forinstalling a software application.

FIGS. 6A-6G-2 are flow charts showing a second example method forinstalling a software application.

FIG. 7 is used in an explanation of a known system and method fordownloading software applications to a game system.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The example systems and methods described herein provide intuitive anduser-friendly ways to install software applications on a computer systemsuch as a video game console system. Of course, these systems andmethods may be readily applied to systems other than video game consolesystems including, but not limited to, personal computers, cellulartelephones, smartphones, personal digital assistants (PDAs),telephony-enabled PDAs, handheld video game systems, and the like.

FIG. 1 shows a non-limiting example game system 10 in which the systemsand methods for installing software applications described herein may beused. As shown in FIG. 1, example game system 10 includes a game console100, a television 102 and a controller 107.

Game console 100 executes a game program(s) or other softwareapplication(s) stored on optical disc 104 inserted into slot 105 formedin housing 110 thereof. The result of the execution of the game programor other application is displayed on display screen 101 of television102 to which game console 100 is connected by cable 106. Audioassociated with the game program or other application is output viaspeakers 109 of television 102. While an optical disk is shown in FIG.1, the game program or other application may alternatively oradditionally be stored on other removable or non-removable storage mediasuch as semiconductor memories, magneto-optical memories, magneticmemories and the like.

Controller 107 wirelessly transmits data such as game control data tothe game console 100. The game control data may be generated using anoperation section of controller 107 having, for example, a plurality ofoperation buttons, a key, a stick and the like. Controller 107 may alsowirelessly receive data transmitted from game console 100. Any one ofvarious wireless protocols such as Bluetooth (registered trademark) maybe used for the wireless transmissions between controller 107 and gameconsole 100.

A “nunchuk” controller 125 may be connected to controller 107. Althougha wired connection is shown in FIG. 1 between controller 107 and nunchukcontroller 125, alternatively, a wireless connection may be used.Nunchuk controller 125 may be held in the user's “other” hand (i.e., thehand not holding controller 107) and provides additional game controldata to video game console 100.

Controller 107 also includes an imaging information calculation section(not shown) for capturing and processing images from light-emittingdevices 108 a and 108 b. Although markers 108 a and 108 b are shown inFIG. 1 as being above television 100, they may also be positioned belowtelevision 100. In one implementation, a center point betweenlight-emitting devices 108 a and 108 b is substantially aligned with avertical center-line of display screen 101. The images fromlight-emitting devices 108 a and 108 b can be used to determine adirection in which controller 107 is pointing as well as a distance ofcontroller 107 from display screen 101. By way of example withoutlimitation, light-emitting devices 108 a and 108 b may be implemented astwo LED modules (hereinafter, referred to as “markers”) provided in thevicinity of the display screen of television 102. The markers eachoutput infrared light and the imaging information calculation section ofcontroller 107 detects the light output from the LED modules todetermine a direction in which controller 107 is pointing and a distanceof controller 107 from display 101 as mentioned above. Additionaldetails of the imaging operation may be found in U.S. Patent PublicationNo. 2007-0066394 A1; U.S. Patent Publication No. 2007-0072674 A1; andU.S. Patent Publication No. 2007-0060228 A1. The entire contents of eachof these applications are expressly incorporated herein.

Controller 107 also preferably includes accelerometers and/orgyroscopes. For example, controller 107 may include a three-axis, linearacceleration sensor that detects linear acceleration in threedirections, e.g., the up/down direction, the left/right direction, andthe forward/backward direction. Linear accelerometers are only capableof detecting acceleration along a straight line corresponding to eachaxis of the acceleration sensor. In other words, the direct output ofthe acceleration sensor is limited to signals indicative of linearacceleration (static or dynamic) along each of the axes thereof. As aresult, the acceleration sensor cannot directly detect movement along anon-linear (e.g. arcuate) path, rotation, rotational movement, angulardisplacement, tilt, position, attitude or any other physicalcharacteristic. However, through additional processing of the linearacceleration signals output from the acceleration sensor, additionalinformation relating to controller 107 can be inferred or calculated(determined). For example, by detecting static, linear acceleration(i.e., gravity), the linear acceleration output of the accelerationsensor can be used to determine tilt of the controller relative to thegravity vector by correlating tilt angles with detected linearacceleration. In this way, the acceleration sensor can be used incombination with a micro-computer (not shown) of controller 107 (oranother processor such as a processor of the video game console 100) todetermine tilt, attitude or position of controller 107. Similarly,various movements and/or positions of controller 107 can be calculatedthrough processing of the linear acceleration signals generated by theacceleration sensor when controller 107 containing the accelerationsensor is subjected to dynamic accelerations by, for example, the handof a user.

Gyroscopes can be used in addition to, or in place of, the accelerationsensor for calculating movements and positions of the controller.

With reference to the block diagram of FIG. 2, game console 100 includesa RISC central processing unit (CPU) 204 for executing various types ofsoftware applications including (but not limited to) video gameprograms. CPU 204 executes a boot program stored, for example, in a bootROM to initialize game console 100. CPU 204 can also execute a softwareapplication (or applications) stored on optical disc 104, which isinserted in optical disk drive 208, or in some other memory accessibleto CPU 204. User-accessible eject button 210 provided on housing 110 ofgame console 100 may be used to eject an optical disk from disk drive208.

CPU 204 is connected to system LSI 202 that includes graphics processingunit (GPU) 216 with an associated graphics memory 220, audio digitalsignal processor (DSP) 218, internal main memory 222 and input/output(IO) processor 224.

IO processor 224 of system LSI 202 is connected to one or more USB ports226, one or more standard memory card slots (connectors) 228, WiFimodule 230, flash memory 232 and wireless controller module 240.

USB ports 226 are used to connect a wide variety of external devices togame console 100. These devices include by way of example withoutlimitation game controllers, keyboards, storage devices such as externalhard-disk drives, printers, speakers, microphones, digital cameras, andthe like. USB ports 226 may also be used for wired network (e.g., LAN)connections. In one example implementation, two USB ports 226 areprovided.

Standard memory card slots (connectors) 228 are adapted to receiveindustry-standard-type memory cards (e.g., SD memory cards). In oneexample implementation, one memory card slot 228 is provided. Thesememory cards are generally used as data carriers but of course this useis provided by way of illustration, not limitation. For example, aplayer may store game data for a particular game on a memory card andbring the memory card to a friend's house to play the game on thefriend's game console. The memory cards may also be used to transferdata between the game console and personal computers, digital cameras,and the like. Content such as photos and music contained on memory cardsinserted into slot 228 may be accessed via the user interface of theconsole for output, for example, using the display screen 101 andspeakers 109 of television 102.

WiFi module 230 enables game console 100 to be connected to a wirelessaccess point. The access point may provide internet connectivity foron-line gaming with players at other locations (with or without voicechat capabilities), as well as web browsing, e-mail, software downloads(including downloads of game software and other applications) and manyother types of on-line activities. In some implementations, WiFi module230 may also be used for communication with other game devices such assuitably-equipped hand-held game devices. Module 230 is referred toherein as “WiFi”, which is generally a designation used in connectionwith the family of IEEE 802.11 specifications. However, game console 100may of course alternatively or additionally use wireless modules thatconform to other wireless standards.

Flash memory 232 stores, by way of example without limitation, game savedata, system files, internal applications for the console and downloadeddata (such as games).

Wireless controller module 240 receives signals wirelessly transmittedfrom one or more controllers 107 and provides these received signals toJO processor 224. The signals transmitted by controller 107 to wirelesscontroller module 240 may include signals generated by controller 107itself as well as signals generated by other devices such as nunchukcontroller 125 that may be connected to controller 107. Of course, inother implementations, nunchuk controller 125 may directly communicatesignals (by wire or wirelessly) to wireless controller module 240 ofconsole 100. As mentioned above, the communications may use theBluetooth protocol.

Wireless controller module 240 may also wirelessly transmit signals tocontroller 107. By way of example without limitation, controller 107(and/or another game controller such as nunchuk controller 125 connectedthereto) may be provided with vibration circuitry and vibrationcircuitry control signals may be sent via wireless controller module 240to control the vibration circuitry (e.g., by turning the vibrationcircuitry on and off). By way of further example without limitation,controller 107 may be provided with (or be connected to) a speaker (notshown) and audio signals for output from this speaker may be wirelesslycommunicated to controller 107 via wireless controller module 240. Byway of still further example without limitation, controller 107 may beprovided with (or be connected to) a display device (not shown) anddisplay signals for output from this display device may be wirelesslycommunicated to controller 107 via wireless controller module 240. Itwill be appreciated that wireless controller module 240 can communicatesignals to nunchuk 125 either directly or via controller 107.

Proprietary memory card slots 246 are adapted to receive proprietarymemory cards. In one example implementation, two such slots areprovided. These proprietary memory cards have some non-standardfeature(s) such as a non-standard connector and/or a non-standard memoryarchitecture. For example, one or more of the memory card slots 246 maybe adapted to receive memory cards used with the Nintendo GameCubeplatform. In this case, memory cards inserted in such slots can transferdata from games developed for the GameCube platform. In an exampleimplementation, memory card slots 246 may be used for read-only accessto the memory cards inserted therein and limitations may be placed onwhether data on these memory cards can be copied or transferred to otherstorage media such as standard memory cards inserted into slots 228.

One or more controller connectors 244 are adapted for wired connectionto respective game controllers. In one example implementation, four suchconnectors are provided for wired connection to game controllers for theNintendo GameCube platform. Alternatively, respective wireless receiversmay be connected to connectors 244 to receive signals from wireless gamecontrollers. These connectors enable players, among other things, to usecontrollers for the Nintendo GameCube platform when an optical disk fora game developed for this platform is inserted into optical disk drive208.

A connector 248 is provided for connecting game console 100 to DC powerderived, for example, from an ordinary wall outlet. Of course, the powermay be derived from one or more batteries.

GPU 216 performs image processing based on instructions from CPU 204.GPU 216 includes, for example, circuitry for performing calculationsnecessary for displaying three-dimensional (3D) graphics. GPU 216performs image processing using graphics memory 220 dedicated for imageprocessing and a part of internal main memory 222. GPU 216 generatesimage data for output to television 102 by audio/video connector 214 viaaudio/video IC (interface) 212.

Audio DSP 218 performs audio processing based on instructions from CPU204. The audio generated by audio DSP 218 is output to television 102 byaudio/video connector 214 via audio/video IC 212.

External main memory 206 and internal main memory 222 are storage areasdirectly accessible by CPU 204. For example, these memories can store anapplication program such as a game program or other softwareapplication, applet, script, etc. read from optical disc 104 by the CPU204, a game program or other application, applet, script, etc. read fromflash memory 232 by CPU 204, various types of data and the like.

ROM/RTC 238 includes a real-time clock and preferably runs off of aninternal battery (not shown) so as to be usable even if no externalpower is supplied. ROM/RTC 238 also may include a boot ROM and SRAMusable by the console.

Power button 242 is used to power game console 100 on and off. In oneexample implementation, power button 242 must be depressed for aspecified time (e.g., one or two seconds) to turn the console off so asto reduce the possibility of inadvertently turn-off. Reset button 244 isused to reset (re-boot) game console 100.

FIG. 3 shows an example user interface for game system 10. Inparticular, FIG. 3 shows a menu 300 which is generated by game console100 for display on television 102. This menu is a channel menu that isdisplayed on television screen 101 and allows users to select one of aplurality of different “channels” for accessing various features of gameconsole 100. The channel selection input and other selection inputs maybe provided by positioning an on-screen cursor using the opticalposition detection feature of controller 107 and then pressing a“select” button or trigger of remote control 107. Of course, othertechniques for making selections may be used and the systems and methodsdescribed herein are not limited in this respect.

While the channels shown in FIG. 3 contain textual channel descriptions,other content such as images, graphics, video and/or sound may also beassociated with some or all of the channels on the channel menu.

By way of example and without limitation, a disc channel 302 allowsusers to play discs inserted in optical disc drive 208. As noted above,the inserted disc may contain games or other software applications.

A photo viewer channel 304 allows users to retrieve digital picturesfrom a memory card inserted into standard memory card slot(s) 228 ofvideo game console 100 and display them on television screen 101.

A shopping channel 306 allows users to shop for items, which may beeither free or may require payment. These shopping items may include,but are not limited to, video games or other software applications whichmay be downloaded from a server to console 100 for storage, for example,in flash memory 232. After users download games or software applicationsusing shopping channel 306, each downloaded game or application can, ifdesired, appear in the channel menu of FIG. 3 as its own channel. Toplay the downloaded game or to execute the downloaded application, userssimply select the corresponding channel. In FIG. 3, channels 314, 316,318, 320 and 322 correspond to channels for downloaded games.

A forecast channel 308 allows users to access and display local weatherforecasts (e.g., retrieved from the Internet) after turning on videogame console 100. The weather information can be automatically updatedby accessing the Internet.

A news channel 310 allows users to access and display local, nationaland world news (e.g., retrieved from the Internet), which may beorganized into a variety of topical categories. The news can beautomatically updated by accessing the Internet.

An internet channel 312 allows the user to access the internet to, forexample, access web sites using a browser running on console 100.

Right arrow 326 may be selected to move to a different page of thechannel menu. A left arrow (not shown) may be present and is selectablewhen there are pages to the left of the current page. Game console 100may, if desired, be programmed to limit the channel menu to onlydisplaying up to a certain maximum number of channels (e.g., up to fivepages each having twelve channels). This limitation is not a storagecapacity issue, but rather a user interface management issue.

The channel menu may also contain a menu bar that provides informationsuch as time/date and includes other selection items such as an emailicon 324 for launching an email application.

FIG. 4 shows an example memory map for flash memory 232. The map of FIG.4 is provided by way of example without limitation and the variousprograms may be readily organized in different manners and even usingdifferent and/or additional memories (e.g., memory cards inserted intostandard memory card slot 238).

Flash memory 232 stores a channel selection program 402 for generatingand displaying the channel menu and allowing users to make selectionsfrom the menu. Channel selection program 402 includes, by way of examplewithout limitation, a channel list, a display/select program and aselected channel start program.

Programs for each of the channels are also contained in memory 232.Consequently, memory 232 includes disc channel program 404, photoviewerchannel program 406, shopping channel program 408, forecast channelprogram 410, news channel program 412 and internet channel program 414.As noted above by way of example, after users download video gameprograms or other programs, applications, applets, scripts, etc. viashopping channel 406, each downloaded video game program or applicationmay appear in the channel menu as its own channel.

Each downloaded video game program or other program, application, etc.may be stored in flash memory 232. When a particular one of these videogame programs, applications, etc. is selected from the channel menu, thecorresponding program is loaded into internal/external memory 206/222for execution by CPU 204.

Programs, applications, scripts and/or applets used to install softwareapplications as described below may also be stored in flash memory 232.

It is desirable that users not be limited to “channels” that arepre-installed on game console 100 at the time of its purchase. Forexample, in some instances, game console 100 is manufactured and sent towarehouses and retail locations before one or more software applicationsfor the console are finalized. The systems and methods described hereinprovide intuitive and user-friendly ways to install, among other things,such later-finalized software applications on the game console.

A first non-limiting, example method for installing user softwareapplications onto game console 100 will be described with reference toFIGS. 5A-5D. The software applications installed in accordance with thisexample method are user software applications that may, for example, bearbitrarily and individually (i.e., independently of other applications)installed and deleted by a user. In contrast to user applications,system applications are installed as part of the overall system programsfor game console 100 and cannot be arbitrarily and individuallyinstalled or deleted by a user.

The overall sequence for the first example method is shown in FIG. 5A.This first example method uses so-called “dummy channels” which may bedisplayed on the channel menu shown in FIG. 3. The dummy channelappearance, and the operations performed when the dummy channel isselected, may be implemented using a dummy channel script which isstored, for example, in memory 232.

The script may be stored in the flash memory in various ways. Forexample, the script may be downloaded from a server (e.g., via aninternet connection) and then stored in memory 232. This downloading maybe accomplished in a variety of ways. For example, when game console 100is booted up, the boot-up routine can, among other things, control theconsole to automatically access the internet to check for such channelscripts on a web site specified by the routine. In an alternativeexample, game console 100 may automatically check for such channelscripts on a periodic basis (e.g., once a day, once a week, every twoweeks, etc.). In still another alternative example, a user may invokethe download of the channel script(s) by using an already installedapplication such as the shopping channel application. In this case, theuser can navigate to the shopping channel on the channel menu, selectthe shopping channel and thereafter provide appropriate selections andinputs responsive to displayed shopping channel menus (e.g., inputtingan identification number) to cause the channel script to be downloaded.

In one particular implementation of this other alternative example, thedummy channel may be for an uninstalled software application to be usedwith a particular game. A non-limiting example of such an application isa voice chat application that enables voice chat via the internetbetween or among players of a particular game. The purchaser of the gamemay be provided with some identification or authorization information(e.g., a number provided in the game packaging) which can be input whilethe user is in the shopping channel to cause the appropriate dummychannel script for the voice chat application to be downloaded. Themenus of the shopping channel may be modified to provide for downloadingthe dummy channel script by updating the shopping channel menus on a webserver (if, for example, the displayed shopping channel menus are webpage contents) or by updating the shopping channel system applicationvia a system update (if, for example, the shopping channel menus arebuilt-into the shopping channel application itself which is running ongame console 100).

At ST 501, game console 100 is booted up by, for example, powering theconsole on using power button 242 or re-booting the console using resetbutton 244.

As a result of booting up, a channel menu is displayed at ST 502. Themenu is similar to that discussed above with reference to FIG. 3, exceptthat one of the channels (which may be referred to as a “dummy” channel)corresponds to a currently uninstalled user software application. Asexplained below with reference to FIG. 5B, the appearance of the dummychannel (e.g., color, icon, image, graphics, text, message, etc.) on thechannel menu screen is determined in accordance with the script and maybe based on a variety of factors including, but not limited to, theavailability/unavailability of the associated software application fordownload from a server.

It will be understood that other channels such as those described above(e.g., disc channel, photoviewer channel, etc.) may also be present onthe menu displayed at ST 502. For simplicity and ease of illustration,details of these other channels are not shown in FIGS. 5A-5C.

The user may make a menu selection from the menu displayed at ST 502.Selections other than selection of a dummy channel do not form part ofthe systems and methods for installing software application(s) describedherein and thus will not be discussed.

If the dummy channel is selected at ST 503, a banner screen is presentedat ST 504. The banner screen includes information about the dummychannel and includes a “Menu” selection item that can be selected toreturn to the channel menu and a “Start” selection item that can beselected to proceed to an announcement screen providing furtherinformation about the software application and, if the softwareapplication is currently available on a server, to initiate downloadingof the software application. As explained below with reference to FIG.5C, the appearance of the banner screen (e.g., icon, message, etc.) isdetermined in accordance with the dummy channel script and may be basedon a variety of factors including, but not limited to, theavailability/unavailability of the associated software application fordownload from a server.

As noted, the user may select “Menu” to return to the channel menu. Ifthe user selects “Start” at ST 505, a “progress” screen is presented atST 506 to inform the user that processing of the “Start” selection isproceeding. The screen in FIG. 5A shows a triangular-shaped arrangementof arrows to indicate that processing is proceeding, but other types ofprogress indications may be used without limitation.

During this processing, a judgment is made at ST 507 as to whether gameconsole 100 is configured to permit internet access. If console 100 isnot so configured, an error message is generated at ST 508 and the useris prompted to change the settings of the game console to enableinternet access before the process can proceed. If the judgment at ST507 is that internet access is available, game console 100 performscertain preparations for downloading at ST 509 such as allocating memoryspace for downloading the application.

At ST 510, an announcement screen(s) is presented which containsannouncements about the software application. As explained below withreference to FIG. 5D, the appearance of the announcement screen(s)(e.g., icon, message, etc.) is determined in accordance with the dummychannel script and may be based on a variety of factors including, butnot limited to, the availability/unavailability of the associatedsoftware application for download from a server.

The announcement screen includes a “Menu” selection item that can beselected in order to return to the channel menu screen (ST 511) and an“Update” selection item that can be selected in order to download thesoftware application (ST 512) if it is available for downloading. If thesoftware application is not available for downloading, the “Update”selection item may be grayed-out to provide an indication to the userthat this item is not available for selection. In this exampleimplementation, selecting “Update” takes the user to the ShoppingChannel where the download can be initiated.

Example steps for determining the appearance of the dummy channel on themenu channel screen are described with reference to FIG. 5B.

In this example, the dummy channel includes a “telop” superimposed overa background. “Telop” is a term derived from “television opaqueprojector” and generally refers to text (such as captions, subtitles, orscrolling tickers) or other content (e.g., images, graphics, video,etc.) superimposed on a background. The background may itself alsoinclude text and/or other content.

When game console 100 is booted up, a judgment of status is made at ST530. This judgment may include determining whether the dummy channel hasbeen previously selected or started by the user and, if so, whether thesoftware application is currently available for downloading. If thesoftware is not currently available for downloading, the judgment at ST530 may include determining whether the availability date of thesoftware application is known or unknown. The judgment of availabilityfor downloading or future availability may, for example, be based oninformation contained in the dummy channel script downloaded from theserver, along with current time/date information, to allow game console100 to determine whether the availability date is in the past or in thefuture.

If the judgment determines that the dummy channel has not previouslybeen selected or started by a user, the color of the telop may beinconspicuous (e.g., gray) as suggested at ST 531 because, for example,the software application associated with the dummy channel may not yetbe available for download. The content of the telop at ST 531 may, amongother things, inform a user that information about the softwareapplication (e.g., a description, start date, game titles with which thesoftware application may be used, etc.) is available and suggest to theuser this information may be accessed by selecting the dummy channel. Inshort, the telop may inform the user about the application and itsavailability/non-availability. The telop may include text, graphics,images and may, if desired, be scrolled like a ticker, flash on and off,or controlled in some other manner to draw a user's attention.

If the judgment at ST 530 determines that the software application forthe dummy channel is currently available for downloading, the color ofthe telop may be conspicuous (e.g., red, purple or pink) as suggested atST 532 to draw the user's attention. The content of the telop at ST 532may, among other things, inform a user that the software application isavailable for download.

If the judgment at ST 530 determines that the software application isnot currently available for downloading and the date of availability isnot known, the color of the telop at ST 533 may be inconspicuous and thecontent of the telop may, among other things, indicate that theavailability date is unknown. In some instances, the telop may providesome generalized, non-specific indication of future availability (e.g.,before the end of the year).

If the judgment at ST 530 determines that the software application isnot currently available for downloading and the date of availability isknown, the color of the telop at ST 534 may be inconspicuous and thecontent of the telop may, among other things, indicate the availabilitydate (e.g., December 4^(th)).

Example steps for determining the appearance of the banner screen whenthe dummy channel is selected are described with reference to FIG. 5C.As with the dummy channel icons, the banner screen includes a telopsuperimposed over a background. The banner screen also includes a “Menu”selection item for enabling the user to return to the channel menu and a“Start” selection item for accessing further information about thesoftware application.

When the dummy channel is selected, a judgment of status is made at ST550. This judgment is similar to that made at ST 530 (discussed withreference to FIG. 5B) and may include determining whether the dummychannel has been previously selected or started by the user and, if so,whether the software application is currently available for downloading.If the software is not currently available for downloading, the judgmentat ST 550 may include determining whether the availability date of thesoftware application is known or unknown. The judgment of availabilityfor downloading or future availability may, for example, be based oninformation contained in the dummy channel script downloaded from theserver, along with current time/date information for determining whetherthe availability date is in the past or in the future.

If the judgment at ST 550 determines that the selection is the firststart-up of the dummy channel, the color of the telop may beinconspicuous (e.g., gray) as suggested at ST 551 and the content of thetelop (e.g., text, images, graphics, etc.) may, among other things,inform a user that information about the software application (e.g., adescription, start date, etc.) is available and prompting the user toselect “Start”. The background message of the banner screen may alsoinclude text, images, graphics, etc. reminding the user to make sure theinternet connection of game console 100 is enabled so that the user cansee the latest information about the software application.

If the judgment at ST 550 determines that the software application forthe dummy channel is currently available for downloading, the color ofthe telop at ST 552 may be conspicuous (e.g., red, purple or pink) todraw the user's attention. The content of the telop (e.g., text, images,graphics, etc.) at ST 552 may, among other things, prompt the user toselect “Start” to download the channel. A background message may also bepresented, if desired.

If the judgment at ST 550 determines that the software application isnot currently available for downloading and the date of availability isnot known, the color of the telop at ST 553 may be inconspicuous and thecontent of the telop (e.g., text, images, graphics, etc.) may, amongother things, indicate that the availability date is unknown. In someinstances, the telop may provide some generalized, non-specificindication of future availability (e.g., before the end of the year).The background message may also include text, images, graphics, etc.reminding the user to make sure that the internet connection of gameconsole 100 is enabled so that the user can see the latest informationabout the software application.

If the judgment at ST 550 determines that the software application isnot currently available for downloading and the date of availability isknown, the color of the telop at ST 554 may be inconspicuous and thecontent of the telop (e.g., text, images, graphics, etc.) may, amongother things, indicate the availability date (e.g., December 4^(th)).The background message may also include text reminding the user to makesure the internet connection of game console 100 is enabled so that theuser can see the latest information about the software application.

With reference to FIG. 5D, when “Start” is selected from the bannerscreen, a judgment of status is made at ST 570. This judgment is similarto that made at ST 530 and ST 550 and may include determining whetherthe dummy channel has been previously selected or started by the userand, if so, whether the software application is currently available fordownloading. If the software is not currently available for downloading,the judgment at ST 570 may include determining whether the availabilitydate of the software application is known or unknown. The judgment ofavailability for downloading or future availability may be based oninformation contained in the dummy channel script downloaded from theserver, along with current time/date information for determining whetherthe availability date is in the past or in the future.

If the judgment at ST 570 determines that the selection is the firststart-up of the dummy channel, that the software application is notcurrently available for downloading and the date of availability is notknown, the announcement screen displayed at ST 571 includes anannouncement message to this effect. The announcement may provide somegeneralized indication of availability (e.g., by the end of the year).In this case, the “Update” selection item on the announcement screen maybe grayed out as an indication to the user that this item cannot beselected.

If the judgment at ST 570 determines that the software application isnot currently available for downloading and the date of availability isknown, the announcement screen displayed at ST 572 includes anannouncement message to this effect which specifies, for example, thedate of availability (e.g., December 4^(th)). In this case, the “Update”selection item on the announcement screen may be grayed out as anindication to the user that this item cannot be selected.

If the judgment at ST 570 determines that the software application forthe dummy channel is currently available for downloading, theannouncement screen displayed at ST 573 includes an announcement messageto this effect and prompts the user to select the “Update” selectionitem in order to download the application.

Selecting “Update” takes the user to a page (screen) of the Shoppingchannel from which the software application can be downloaded. ThisShopping channel screen may, for example, include a download selectionitem which is selectable for initiating the downloading of the usersoftware application from a server. If payment is required, the Shoppingchannel screen may prompt the user to enter appropriate paymentinformation before downloading is permitted.

The downloaded user software application may be stored in memory 232 asmentioned above.

After downloading, the appearance of the dummy channel is changed andthe channel becomes associated with the downloaded application such thatselection of the channel launches the application.

A second example method for installing user software applications willbe described with reference to FIGS. 6A-6G-2. This method uses so-calledplace holders for specific software application titles to be downloadedfrom a server via the internet. These place holders are preferablyimplemented by a program, application, applet or script which ispre-installed on gaming console 100 and stored, for example, in memory232. These place holders may also use so-called download tasks to obtainadditional information about the non-installed software application, forexample, from a server to which a connection is made via the internet.Thus, the appearance and content of the various screens may be based onthe place holder program, the download task or a combination of both.Specific titles for these uninstalled applications appear on the channelmenu so that users can “jumpstart” the downloading of the correspondingsoftware applications as soon as they purchase and boot-up the videogame system.

FIG. 6A shows an overall example place holder process.

At ST 601, game console 100 is started by, for example, powering theconsole on using power button 242 or re-booting the console using resetbutton 244.

A status check is performed at ST 602 and the channel menu is displayedat ST 603. The status check is discussed below with reference to FIG. 6Band is used to determine, among other things, the appearance of theplace holder channel for the uninstalled software application.

The user may make a selection from the channel menu displayed at ST 603.Channel selections other than place holder channel(s) for uninstalledsoftware application(s) do not form part of the systems and methods forinstalling software application(s) described herein and thus will not bediscussed.

If the place holder channel for an uninstalled software application isselected at ST 604, a banner screen is presented at ST 605. The bannerscreen includes information about the place holder channel and includesa “Menu” selection item that can be selected to return to the channelmenu and a “Start” selection item that can be selected to proceed to anannouncement screen(s) providing further information about the softwareapplication and, if currently available, to initiate downloading of thesoftware application. As explained below with reference to FIG. 6C, theappearance of the banner screen is determined in accordance with theplace holder script and/or download task and may be based on a varietyof factors including, but not limited to, theavailability/unavailability of the associated software application fordownload from a server.

As noted, the user may select “Menu” at ST 605 to return to the channelmenu. If the user selects “Start” at ST 606, an announcement screen ispresented at ST 607 which contains announcements about the softwareapplication. The announcement screen includes a “Menu” selection itemthat can be selected in order to return to the channel menu screen (ST608) and an “Update” selection item that can be selected in order toproceed via ST 609 and ST 610 to an update page within the shoppingchannel for downloading the software application (ST 611) if it isavailable for downloading. As explained below with reference to FIG. 6D,the appearance of the announcement screen(s) is determined in accordancewith the place holder script and/or download task and may be based on avariety of factors including, but not limited to, theavailability/unavailability of the associated software application fordownload from a server.

At ST 609, a “progress” screen is presented to inform the user thatprocessing of the “Start” selection is proceeding. The screen in FIG. 6Ashows a triangular-shaped arrangement of arrows to indicate thatprocessing is proceeding, but other types of progress indications may beused without limitation.

At ST 610, the processing for proceeding to the shopping channelincludes passing a code corresponding to the selected softwareapplication to the shopping channel program or script so that, forexample, the process can proceed to the appropriate shopping channelpage with suitable options for downloading the application.

The Shopping channel page (screen) may, for example, include a downloadselection item which is selectable for initiating the downloading of theuser software application from a server. If payment is required, theShopping channel screen may prompt the user to enter appropriate paymentinformation before downloading is permitted.

The downloaded user software application may be stored in memory 232 asmentioned above.

After downloading, the appearance of the place holder channel is changedand the channel becomes associated with the downloaded application suchthat selection of the channel launches the application.

With reference to FIG. 6B, a judgment is made at ST 620 as to whether adownload (DL) task for the uninstalled software application exists. Adownload task is a portion of the place holder script that, for example,periodically accesses a server to obtain status information about theuninstalled software application such as, but not limited to, itscurrent availability/unavailability. Generally, the download task for aparticular place holder channel accesses the server a predeterminednumber of times (e.g., 100 times) at a specified interval (e.g., every24 hours) until the download task is depleted. If the download task isjudged to exist at ST 620, a place holder channel is displayed in themain channel menu at ST 621 using text, graphics, images, etc. obtainedat least in part by the download task. This text, graphics, etc. mayvary depending on the availability/unavailability of the softwareapplication, whether the date on which the application will becomeavailable is known, etc. If the download task does not exist, a placeholder channel is displayed in the channel menu at ST 622 using text,graphics, images, etc. which is determined by the settings of the placeholder channel script itself.

With reference to FIG. 6C, after a place holder channel is selected fromthe channel menu, a judgment is made at ST 630 as to whether a downloadtask for the uninstalled software application exists. If so, a bannerscreen is displayed at ST 631 using text, graphics, images, etc.obtained at least in part by the download task. This text, graphics,etc. may vary depending on the availability/unavailability of thesoftware application, whether the date on which the application willbecome available is known. If the download task does not exist, a bannerscreen is displayed at ST 632 using text, graphics, images, etc. whichis determined by the settings of the place holder channel script itself.

FIG. 6D shows additional details associated with the steps shown anddiscussed with reference to FIG. 6A. When “Start” is selected at ST 604,a judgment is made at ST 640 as to whether the flash memory 232 isoperating properly. If not, a message to this effect is presented to theuser at ST 641. If the judgment is that the memory is operatingproperly, a judgment is made at ST 642 as to whether a download taskexists.

If the download task exists, an announcement screen is displayed at ST643 using text, graphics, images, etc. obtained at least in part by thedownload task. This text, graphics, etc. may vary depending on theavailability/unavailability of the software application, whether thedate on which the application will become available is known. Theannouncement screen includes a “Menu” selection item that can beselected by the user to return to the main channel menu. Theannouncement screen also includes an “Update” selection item that can beselected to obtain further information if the place holder script isconfigured to provide such further information. In some instances, theplace holder script may cause the “Update” selection item to be grayedout to indicate to the user that it cannot be selected. In this case,the user may return to the channel menu by selecting the “Menu”selection item.

If the download task does not exist, an announcement screen is displayedat ST 644 using text, graphics, images, etc. which is determined by thesettings of the place holder channel script itself. The announcementscreen contains an appropriate message which, for example, prompts theuser to select the “Update” selection item to download the softwareapplication.

If “Update” is selected from the screen at either ST 643 or ST 644, theprocess proceeds to ST 645 where a judgment is made as to whether gameconsole 100 is configured for internet access. If not, an internetconfiguration screen is presented to the user at ST 646 where the usercan proceed to a network settings screen to set up the internet (ST 647)by selecting the “Set Up” selection item or select “Quit” to return tothe announcement screen. If the game console is configured for internetaccess, the process proceeds via ST 609 and ST 610 as discussed abovewith reference to FIG. 6A.

With reference to FIG. 6E, the script corresponding to the method ofFIG. 6A can be modified so that the process omits the announcementscreens. Thus, as shown in FIG. 6E, if the user selects “Start” at ST660, a judgment is made at ST 661 as to whether game console 100 isconfigured for internet access. If not, the process proceeds to ST 662at which the user is prompted to configure the game console for internetaccess (ST 663). If the game console is configured for internet access,the process proceeds to the shopping channel at ST 664.

With reference to FIG. 6F, multiple announcement screens up to somemaximum number (e.g., five) may be utilized. In this case, eachannouncement screen may include a selection item for navigating from onescreen to another. For example, in FIG. 6F, a right arrow 670 may beselected by the user to a “next” announcement screen. If “previous”announcement screens are present, a left arrow (not shown) may beprovided for selection by the user.

FIGS. 6G-1 and 6G-2 show additional details of the downloading process.At ST 681, a progress screen is shown to the user. At ST 682 and ST 683,respective judgments are made about whether the internet connectionheader file and the file itself are corrupt. If so, a message to thiseffect is displayed at ST 684. At ST 685, a judgment is made as towhether a system upgrade is necessary and, if so, a message to thiseffect is displayed at ST 686. At ST 687, a judgment is made as towhether there are any other fatal internet connection errors and, if so,a message to this effect is displayed at ST 688. At ST 689, a judgmentis made as to whether any time outs have occurred and, if so, a messageto this effect is displayed at ST 690. At ST 691, a judgment is made asto whether the internet connection is set to off and, if so, a messageto this effect is displayed at ST 692. At ST 693, a judgment is made asto whether a problem exists with the internet setting. If so, a messageto this effect is displayed at ST 694. At ST 695, a judgment is made asto whether there are any files on the server. If not, a message to thiseffect is displayed at ST 696. At ST 697, a judgment is made as towhether any other errors exist. If so, a message to this effect isdisplayed at ST 698.

Each of the displays at ST 684, ST 686, ST 688, ST 690, ST 692, ST 694,ST 696 and ST 698 include a “Menu” selection item that can be selectedby the user to return to the channel menu. The display at ST 696 alsoincludes a “Main Menu” selection item that can be selected by the userto return to the main menu from which, for example, a software reset canbe initiated.

By selecting a place holder channel, a user can easily accessinformation about a software application as well as a download screenfor the official version of the corresponding software application. Inthe case of software applications not yet available for download, theuser can receive updates on the service status (still underconstruction, started, halted, etc.). If the user prefers not to receiveany service status updates or introductions to the application, then theuser can change the settings on the place holder channel for thatspecific application. As mentioned above, the place holder script orapplication is pre-installed on game console 100.

Characteristics of the place holder application include:

-   -   directly jumps to the shopping channel from which the software        application can be downloaded    -   notifies software application status to the user with a place        holder channel through a download task and/or a channel script    -   notifies software application status to the user on a banner        screen through the download task and/or the channel script    -   notifies software application status to the user within the        place holder application    -   provides an introduction to software application titles in the        place holder (e.g., announcement screens including up to five        static images)

As described above, an announcement screen may display an “update”button that allows the user to jump directly to a shopping channel pagewhere the software application can be downloaded. Depending on theindividual place holder application settings, the user might jumpdirectly to the shopping channel download page by pressing a “start”button on a banner screen, bypassing the announcement screen display. Inthe examples described above, once the user jumps to the shoppingchannel, the user cannot directly return back to the place holder.

Using the place holder channel script, the place holder channel may beconfigured to display an animation. In this case, a text message may bedisplayed in a manner similar to an electronic bulletin board (“ticker”)used for news updates or stock prices. In addition, the current statusof the uninstalled software application can be checked using a downloadtask, and the appearance (e.g., color) of the banner which displays thetext message can be changed in accordance with this status.Specifically, the text message may, for example be displayed over a graybanner before the software application is available for download andover a pink banner after the software application becomes available.

In the above example, the download task does not function unless theplace holder channel has been started at least once.

The place holder channel script can also be configured so that ananimation is displayed when the banner screen is displayed. The textdisplayed on the place holder channel and on the banner screen can bedifferent from one another. As with the place holder channel, thecurrent status will be checked, and the appearance (e.g., color) of thebanner used for the scrolling text may be based on this status. Forexample, the banner color may be gray before the software application isavailable for downloading and pink after the software applicationbecomes available for downloading.

The announcement screen displays text labeled as “announcement screendisplay text” in the place holder script and within the download task.Additionally, by switching screens, a maximum of five (5) images (eachhaving a resolution of, for example, 496×34 and maximum size per imageof 100 Kb) can be provided prior to installing the software applicationto briefly explain the application. In the example method, these imagesare part of the place holder script and thus they cannot be updated orchanged. These introductory image(s) may be displayed regardless of thecurrent availability status of the software application.

Place holder-related information can be automatically downloaded using adownload task which may, for example, be performed when the console isin stand-by mode. With download tasks, there is a preset interval andnumber of update checks performed until the download task is depleted.There is one download task for each place holder. In someimplementations, the number of update checks may be reset, for example,each time the place holder application is started (e.g., by selectingStart from the banner screen). In addition, the download task ends whenthe corresponding software application is downloaded.

The download method and data downloaded is as follows:

Download Method Data Downloaded Internet connection: Channel icondisplay text Update check interval: 24 hours and at Banner display textstart up Announcement screen display DL Task depletion: 100 times textStatus confirmation flag Date on status change date

A place holder for each application is created by placing data into adedicated place holder framework. Data for creating an example placeholder includes:

-   -   Channel icon data        -   Scrolling text            -   Default text string            -   Text string indicating “currently being prepared”            -   Text string used during service            -   Other text strings    -   Banner data (required)        -   Scrolling text            -   Default text string            -   Text string indicating “currently being prepared”            -   Text string used during service            -   Other character strings    -   Title ID    -   Title image for the place holder announcement screen    -   Text string on the place holder announcement screen used for        introduction to the official version of that application and for        explanation of controls    -   Text string on the place holder announcement screen used for        service status notifications    -   Images for introduction to the official version of that        application (0-5 images) used within the place holder

Aside from using the pre-set text strings in the place holder, textstrings obtained using the download task can also be used as varioustext strings for the scrolling texts and notifications.

When creating a place holder, a place holder with different actions canbe created for each individual application by entering necessary dataand option settings into the place holder framework. Options that can beset for each application include:

Set-up Area Set-up Data Channel menu icon Whether or not the scrollingtext will be displayed ON/OFF Banner color of scrolling text Bannerscreen Whether or not the scrolling text will be displayed ON/OFF Bannercolor of scrolling text Behavior within Whether or not the applicationconnects directly to application the Shop Channel when the “Start”button is pressed on the banner screen Whether or not the service statusis displayed ON/OFF

The dummy and place holder channels can be used to “reserve” space onthe channel menu. In particular, the game console may limit the channelmenu to only displaying up to a certain maximum number of channel icons.As mentioned above, this limitation is not a storage capacity issue, butrather a user interface management issue. By using the dummy and placeholder channels, users are better able to manage the channel menu andproduct and software developers can see what “real estate” of thechannel menu is accounted for during development. The dummy and placeholder channels also enable better memory and user interface managementsince a user can decide not to download software application(s) he orshe is not interested in.

Moreover, unlike system applications which must all be updated together,the user applications associated with the dummy channels and placeholder channels described herein can be installed (or not installed)independently and separately from each other based upon a user'spreferences. Also unlike system applications, these user applicationscan be deleted independently and separately from each other (and withouta system update) based upon a user's preferences.

The dummy and place holder channels also provide significant flexibilityin software development schedules. It can be difficult to coordinatehardware and software development schedules so that all softwareapplications are completed at the time a product is manufactured andshipped for sale. Dummy and place holder channels allow the product tobe manufactured and shipped and the software applications to beinstalled after purchase without the need for a system update. Inaddition, the user can be provided with relevant information about suchapplications (e.g., availability date) and this information is dynamic(e.g., can be updated) and can be conveyed to users in an intuitive anduser-friendly way (e.g., by the appearance (including color) of achannel menu icon for the uninstalled software application).

The dummy and place holder channels also allow for easier localizationof products and software applications in cases in which a system may beconfigured differently for different markets (e.g., the U.S., Europeanand Japanese markets). In addition to language differences, thelook-and-feel of a software application may be different in differentmarkets. Using dummy channels or place holders, a software applicationdeveloped for a specific market may be easily installed by a user afterpurchase.

Generally speaking, the systems, methods, and techniques describedherein may be implemented in digital electronic circuitry, computerhardware, firmware, software, or in combinations of these elements.Apparatus embodying these techniques may include, for example,appropriate input and output devices, a computer processor, and acomputer program product tangibly embodied in a machine-readablenon-transitory storage device for execution by a programmable processor.A process embodying these techniques may be performed by a programmableprocessor executing a program of instructions to perform desiredfunctions by operating on input data and generating appropriate output.The techniques may be implemented in one or more computer programs,applications, scripts, applets, routines, subroutines, etc. that areexecutable on a programmable system including at least one programmableprocessor coupled to receive data and instructions from, and to transmitdata and instructions to, a data storage system, at least one inputdevice, and at least one output device. Each computer program may beimplemented in a high-level procedural or object-oriented programminglanguage or in assembly or machine language if desired; and in any case,the language may be a compiled or interpreted language. Suitableprocessors include, by way of example, both general and special purposemicroprocessors. Generally, a processor will receive instructions anddata from a read-only memory and/or a random access memory.Non-transitory storage devices suitable for tangibly embodying computerprogram instructions and data include all forms of volatile andnon-volatile memory, including by way of example semiconductor memorydevices, such as Erasable Programmable Read-Only Memory (EPROM),Electrically Erasable Programmable Read-Only Memory (EEPROM), and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and Compact Disc Read-Only Memory(CD-ROM). Any of the foregoing may be supplemented by, or incorporatedin, specially-designed ASICs (application-specific integrated circuits).The computer program instructions may also be provided as data signalsembodied in a carrier wave or other propagation medium via acommunication link (e.g., a modem or network connection).

While certain example systems and methods have been described herein, itis to be understood that the appended claims are not to be limited tothe systems and methods disclosed, but on the contrary, are intended tocover various modifications and equivalent arrangements included withinthe spirit and scope of the appended claims.

We claim: 1: A computer apparatus comprising: a processor coupled to amemory storing a program, wherein the processor executes the program toperform operations comprising: displaying an application menu screencomprising a plurality of display locations, the display locationsrespectively displaying at least a selectable first menu item for anuninstalled first application and a selectable second menu item for aninstalled second application; in response to selection of the secondmenu item, executing the second application; periodically determiningavailability/unavailability of the first application for download fromanother computer apparatus; in response to selection of the first menuitem if the most recent periodic determining has determined that thefirst application is unavailable for download from the server, providingannouncement information about the first application; in response toselection of the first menu item if the most recent periodic determininghas determined that the first application is available for download fromthe server, initiating a process for downloading and installing thefirst application; and in response to selection of the first menu itemafter the first application is installed, executing the firstapplication. 2: The computer apparatus according to claim 1, wherein thedisplay location of the first menu item does not change after the firstapplication is downloaded and installed. 3: The computer apparatusaccording to claim 1, wherein the display locations are arranged in anarray. 4: The computer apparatus according to claim 1, wherein the firstmenu item comprises an icon. 5: The computer apparatus according toclaim 1, wherein the other computer apparatus is a server. 6: Thecomputer apparatus according to claim 1, wherein the announcementinformation comprises text. 7: The computer apparatus according to claim1, wherein the application menu screen has a fixed number of displaylocations. 8: The computer apparatus according to claim 1, wherein thesecond application comprises one of a news application, a weatherforecast application and a browser. 9: The computer apparatus accordingto claim 1, embodied as a smart phone. 10: The computer apparatusaccording to claim 1, embodied as a video game apparatus. 11: Thecomputer apparatus according to claim 1, embodied as a hand-held videogame apparatus. 12: A non-transitory computer readable storage mediumincluding a program stored thereon, the program, when executed by acomputer apparatus, performing operations comprising: displaying anapplication menu screen comprising a plurality of display locations, thedisplay locations respectively displaying at least a selectable firstmenu item for an uninstalled first application and a selectable secondmenu item for an installed second application; in response to selectionof the second menu item, executing the second application; periodicallydetermining availability/unavailability of the first application fordownload from another computer apparatus; in response to selection ofthe first menu item if the most recent periodic determining hasdetermined that the first application is unavailable for download fromthe server, providing announcement information about the firstapplication; in response to selection of the first menu item if the mostrecent periodic determining has determined that the first application isavailable for download from the server, initiating a process fordownloading and installing the first application; and in response toselection of the first menu item after the first application isinstalled, executing the first application. 13: The non-transitorycomputer readable storage medium according to claim 12, wherein thedisplay location of the first menu item does not change after the firstapplication is downloaded and installed. 14: The non-transitory computerreadable storage medium according to claim 12, wherein the displaylocations are arranged in an array. 15: A computer system including orcoupled to a display, the computer system comprising: an input device; acommunication circuit; a memory storing a program; and a processorcoupled to a memory, wherein the processor executes the program toperform operations comprising: displaying on the display an applicationmenu screen comprising a plurality of display locations, the displaylocations respectively displaying at least a selectable first menu itemfor an uninstalled first application and a selectable second menu itemfor an installed second application; in response to selection of thesecond menu item using the input device, executing the secondapplication; periodically determining availability/unavailability of thefirst application for download by accessing a computer over a network byusing the communication circuit; in response to selection of the firstmenu item using the input device if the most recent periodic determininghas determined that the first application is unavailable for downloadfrom the server, providing announcement information about the firstapplication; in response to selection of the first menu item using theinput device if the most recent periodic determining has determined thatthe first application is available for download from the server,initiating a process for downloading and installing the firstapplication; and in response to selection of the first menu item usingthe input device after the application is installed, executing the firstapplication. 16: The computer system according to claim 15, wherein theinput device comprises a remote control. 17: The computer systemaccording to claim 15, embodied as a video game system. 18: The computersystem according to claim 15, wherein the display location of the firstmenu item does not change after the first application is downloaded andinstalled. 19: The computer system according to claim 15, wherein thedisplay locations are arranged in an array. 20: A method for use with acomputer apparatus, comprising: displaying an application menu screencomprising a plurality of display locations, the display locationsrespectively displaying at least a selectable first menu item for anuninstalled first application and a selectable second menu item for aninstalled second application; in response to selection of the secondmenu item, executing the second application; periodically determiningavailability/unavailability of the first application for download fromanother computer apparatus; in response to selection of the first menuitem if the most recent periodic determining has determined that thefirst application is unavailable for download from the server, providingannouncement information about the first application; in response toselection of the first menu item if the most recent periodic determininghas determined that the first application is available for download fromthe server, initiating a process for downloading and installing thefirst application; and in response to selection of the first menu itemafter the application is installed, executing the first application. 21:The method according to claim 20, wherein the display location of thefirst menu item does not change after the first application isdownloaded and installed. 22: The method according to claim 20, whereinthe display locations are arranged in an array.